home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Item MB Quick & Easy 2.0
/
Item MB Quick & Easy 2.0.iso
/
mbfacad
/
eaitpro6.lsp
< prev
next >
Wrap
Lisp/Scheme
|
1998-03-15
|
5KB
|
111 lines
;---------Unterfunktion zur Profilzeichnung 8er-Nut
;--------------------------------------------------------------------------
; Wird neues Profil erstellt, trage die Liste mit den Punkten der Quer-
; linien ein (siehe erstes SETQ) und füge eine entsprechende Zeile in der
; ersten COND - Anweisung ein !!!!
;
; PROFIL muß eine String entsprechend aus erster COND- Anweisung sein
; EPKT ist Einfügepkt.
; LA ist Laenge des Profils
; WIN ist Einfügewinkel
; KRI ist Konstruktionswinkel
;--------------------------------------------------------------------------
(defun EAITpro6 (PROFIL EPKT LA WIN KRI / SS1 LI LI1 LI2 LI3 LI4 LI5 LI6 LI7 LI8 LI9
LIN END1 WIZ N Z)
;--------Listen der Profil-Linien
(setvar "OSMODE" 0)
(setq LI1 '(12 18 30)
LI2 '(12 18 42 48 60)
LI3 '(12 18 42 48 72 78 102 108 120)
LI4 '(30)
LI5 '(4 14.9)
LI6 '(2.3 8)
LI7 '(30)
LI8 '(30)
LI9 '(60)
LI10 '(3.6)
LI11 '(3)
)
(cond ((= PROFIL "30x30") (setq LI LI1))
((= PROFIL "60x60") (setq LI LI2))
((= PROFIL "120x120")(setq LI LI3))
((= PROFIL "30") (setq LI LI4))
((= PROFIL "15x8L") (setq LI LI5))
((= PROFIL "15x8K") (setq LI LI6))
((= PROFIL "30x30-45") (setq LI LI7))
((= PROFIL "30x30N1") (setq LI LI8))
((= PROFIL "60x30N2") (setq LI LI9))
((= PROFIL "GLEITLEISTE") (setq LI LI10))
((= PROFIL "ABDECKP 24x3") (setq LI LI11))
);cond
;---------Bedingungen fⁿr Quadranten
(cond ((AND (<= WIN KRI)(< KRI (+ WIN(/ Pi 2))));I. Quadrant
(setq WIN WIN ;
WIZ (+ WIN (/ Pi 2)) ;
) ;
) ;I. Quadrant
((AND (<= (+ WIN(/ Pi 2)) KRI)(< KRI (+ WIN Pi))); II. Quadrant
(setq WIN (+ WIN Pi) ;
WIZ (- WIN (/ Pi 2)) ;
) ;
) ; II. Quadrant
((AND (<= (+ WIN Pi) KRI)(< KRI (+ WIN (/(* Pi 3)2)))); III.Quadrant
(setq WIN (+ WIN Pi) ;
WIZ (+ WIN (/ Pi 2)) ;
) ;
) ; III. Quadrant
(T ; IV. Quadrant
(setq WIN WIN ;
WIZ (- WIN (/ Pi 2)) ;
) ;
) ; IV. Quadrant
);cond
(setq WINFO (/ (+ WIN WIZ) 2)) ;Winkel für MB-INFO - Punkt
;-----------Zeichnen der Profil-Grundlinie
(command EAITlay EAITlse "EAIT50" "")
(setq END1 (polar EPKT WIN LA))
(command EAITlin EPKT END1 "")
(setq LIN (entlast)
SS1 (ssadd (entlast))
Z -1
)
;-----------Zeichnen des restlichen Profils
(foreach N LI
(command EAITkop LIN "" EPKT (polar EPKT WIZ N))
(setq SS1 (ssadd (entlast) SS1))
(setq Z (1+ Z))
);foreach
(command EAITlin EPKT (polar EPKT WIZ (nth Z LI)) "") ;Seiten-Linie d. Profils
(setq SS1 (ssadd (entlast) SS1))
(command EAITlin END1 (polar END1 WIZ (nth Z LI)) "") ;Seiten-Linie d. Profils
(setq SS1 (ssadd (entlast) SS1))
(if (= LI LI7)
(progn
(command EAITlay EAITlse "EAIT25" "")
(command EAITlin (polar EPKT WIZ 9)(polar END1 WIZ 9) "")
(setq SS1 (ssadd (entlast) SS1))
)
)
;-----------Block bilden
(setq BName (EAITbnr))
(command EAITblo BName EPKT SS1 ""
EAITege BName EPKT "" "" "" )
);defun EAITpro6